#pragma once

#include <M5Stack.h>
#include <stdlib.h>
#include <string>
#include <math.h>
#include <list>
#include <vector>
#include <set>
#include <map>
#include <functional>
#include "driver/i2c.h"

using namespace std;

typedef uint8_t		WiFiStatus;
typedef uint8_t		Block;
typedef uint8_t		BatteryStatus;
typedef uint8_t		RecordStatus;
typedef uint16_t		Gesture;
typedef const char*			AppName;

#define WIFI_NOT_CONNECT     0
#define WIFI_SIGNAL_WEAK       1
#define WIFI_SIGNAL_MEDIUM  2
#define WIFI_SIGNAL_STRONG  3


#define BATTERY_EMPTY       0 // 0%~5%
#define BATTERY_LOW           1 // 5%~20%
#define BATTERY_NORMAL    2 // 20%~80%
#define BATTERY_HIGH          3  // 80%~100%


#define RECORD_CLOSE    0
#define RECORD_DOING   1
#define RECORD_PLAY	   2
#define RECORD_PAUSE    3

#define BLOCK_11 0
#define BLOCK_21 1
#define BLOCK_12 2
#define BLOCK_22 3


// #define DEBUGGING true